﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;

namespace JqueryNet
{
    public interface IJQuery
    {

        object Value { get; set; }

        Control JControl { get; set; }

        #region property

        void Attr(string key);

        void Attr(string key, string value);

        void Attr(object newobject);

        void Attr(string key, Func<string> value);

        void RemoveAttr(string key);
        #endregion

        #region class

        void AddClass(string cssclass);

        void AddClass(Func<string> fun);

        void RemoveClass();

        void ToggleClass(string cssclass);

        void ToggleClass(Func<string> fun);
        #endregion

        #region inner

        void Html();

        void Html(string value);

        void Html(Func<string> fun);

        void Text();

        void Text(string value);

        void Text(Func<string> fun);
        #endregion

        #region value

        void Clear();

        void Val();

        void Val(string value);

        void Val(Func<string> fun);

        void Val(string[] values);
        #endregion

        #region Children

        void Children();

        void Children<T>(Predicate<T> prc);

        void FindControl(string key);

        void Parent();
        #endregion

        #region css

        void Css(string key);

        void Css(string key, string value);

        void Css(object newobject);

        void Css(string key, Func<string> value);

        #endregion

        #region x.y

        void Height();
        void Height(string value);

        void Width();

        void Width(string value);
        #endregion

        #region Bind

        void Bind(string key, string value);

        void UnBind(string key);

        void BindEvent(string eventname, Delegate del);
         

        #endregion

        #region display
         
        void Show();
        void Hide();
        #endregion

        #region Disabled
        
        void Disabled();
        void Enabled();
        #endregion

        #region even

        void Blur(string fun);

        void Change(string fun);

        void Click(string fun);

        void Dblclick(string fun);

        void Focus();

        void Focus(string fun);

        void Keydown(string fun);

        void Keypress(string fun);

        void Keyup(string fun);

        void Mousedown(string fn);

        void Mousemove(string fn);

        void Mouseout(string fn);

        void Mouseover(string fn);

        void Mouseup(string fn);

        void Select(string fn);

        void Submit(string fun);

        #endregion
    }
}
